package com.sp.fresh_produce.model.dao;

import com.sp.fresh_produce.controller.dto.VO.CartVO;
import com.sp.fresh_produce.model.pojo.Cart;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 购物车表 Mapper 接口
 */
public interface CartMapper {
    /**
     * 按主键删除
     */
    int deleteByPrimaryKey(Integer id);

    /**
     * 全量插入
     */
    int insert(Cart record);

    /**
     * 选择性插入（仅非空字段）
     */
    int insertSelective(Cart record);

    /**
     * 按主键查询
     */
    Cart selectByPrimaryKey(Integer id);

    /**
     * 选择性按主键更新（仅更新非空字段）
     */
    int updateByPrimaryKeySelective(Cart record);

    /**
     * 全量按主键更新
     */
    int updateByPrimaryKey(Cart record);

    /**
     * 按用户id和商品id查询
     */
    Cart selectCartByUserIdAndProductId(@Param("userId") Integer userId, @Param("productId") Integer productId);

    /**
     * 按用户id查询商品列表
     */
    List<CartVO> selectCartByUserIdList(@Param("userId") Integer userId);

    /**
     * 选中或者不选中
     */
    Integer selectOrNotSelect(@Param("userId") Integer userId, @Param("productId") Integer productId, @Param("selected") Integer selected);
}